package com.example.service;

import com.example.dto.LoginDto;
import com.example.dto.UserDto;
import com.example.entity.User;
import com.example.vo.LoginVo;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author itheima
 */
@Transactional
public interface UserService {
    /**
     * 发送验证码
     *
     * @param loginDto
     * @return
     */
    Boolean sendMsg(LoginDto loginDto);

    /**
     * 用户登陆注册
     *
     * @param loginDto
     * @return
     */
    LoginVo login(LoginDto loginDto);

    /**
     * 用户信息更新
     *
     * @param userDto
     * @return
     */
    Boolean updateUser(UserDto userDto);

    /**
     * 修改手机号
     *
     * @param loginDto
     * @return
     */
    Boolean updatePhone(LoginDto loginDto);

    /**
     * 校验验证码
     *
     * @param loginDto
     * @return
     */
    Boolean checkCode(LoginDto loginDto);

    /**
     * 根据用户id集合返回用户信息集合
     *
     * @param userIds
     * @return
     */
    List<User> getUsersByIds(List<String> userIds);
}
